; Merged Mod: .\Nahidabikini\Nahida.ini, .\Nahidabody\Nahida.ini, .\Nahidacat\Nahida.ini, .\Nahidadress\Nahida.ini, .\Nahidaschoolbikini\Nahida.ini

; Constants ---------------------------

[Constants]
global persist $swapvar = 0
global $active
global $creditinfo = 0

[KeySwap]
condition = $active == 1
key = h
back = z
type = cycle
$swapvar = 0,1,2,3,4
$creditinfo = 0

[Present]
post $active = 0

; Shader ------------------------------

[CustomShaderTransparency0]
blend = ADD BLEND_FACTOR INV_BLEND_FACTOR
blend_factor[0] = 0.7
blend_factor[1] = 0.7
blend_factor[2] = 0.7
blend_factor[3] = 1
handling = skip
drawindexed = auto

[CustomShaderTransparency2]
blend = ADD BLEND_FACTOR INV_BLEND_FACTOR
blend_factor[0] = 0.8
blend_factor[1] = 0.8
blend_factor[2] = 0.8
blend_factor[3] = 1
handling = skip
drawindexed = auto

[CustomShaderTransparency3]
blend = ADD BLEND_FACTOR INV_BLEND_FACTOR
blend_factor[0] = 0.75
blend_factor[1] = 0.75
blend_factor[2] = 0.75
blend_factor[3] = 1
handling = skip
drawindexed = auto

[CustomShaderTransparency4]
blend = ADD BLEND_FACTOR INV_BLEND_FACTOR
blend_factor[0] = 0.7
blend_factor[1] = 0.7
blend_factor[2] = 0.7
blend_factor[3] = 1
handling = skip
drawindexed = auto

; Overrides ---------------------------

[TextureOverrideNahidaPosition]
hash = 37ef15ec
run = CommandListNahidaPosition
$active = 1

[TextureOverrideNahidaBlend]
hash = bb58c686
run = CommandListNahidaBlend

[TextureOverrideNahidaTexcoord]
hash = f7b7ce48
run = CommandListNahidaTexcoord

[TextureOverrideNahidaVertexLimitRaise]
hash = ee37e2d7

[TextureOverrideNahidaIB]
hash = b3f2e7da
run = CommandListNahidaIB

[TextureOverrideNahidaHead]
hash = b3f2e7da
match_first_index = 0
run = CommandListNahidaHead

[TextureOverrideNahidaBody]
hash = b3f2e7da
match_first_index = 31143
run = CommandListNahidaBody

$CharacterIB = 2
ResourceRefBodyDiffuse = reference ps-t1
ResourceRefBodyLightMap = reference ps-t2

[TextureOverrideNahidaDress]
hash = b3f2e7da
match_first_index = 71187
run = CommandListNahidaDress

$CharacterIB = 3
ResourceRefDressDiffuse = reference ps-t1
ResourceRefDressLightMap = reference ps-t2

[TextureOverrideNahidaFaceHeadDiffuse]
hash = 895cd4d0
run = CommandListNahidaFaceHeadDiffuse

[TextureOverrideNahidaExtra]
hash = b3f2e7da
match_first_index = 0
run = CommandListNahidaExtra

$CharacterIB = 1
ResourceRefExtraDiffuse = reference ps-t1
ResourceRefExtraLightMap = reference ps-t2

; CommandList -------------------------


[CommandListNahidaPosition]
if $swapvar == 0
	vb0 = ResourceNahidaPosition.0
else if $swapvar == 1
	vb0 = ResourceNahidaPosition.1
else if $swapvar == 2
	vb0 = ResourceNahidaPosition.2
else if $swapvar == 3
	vb0 = ResourceNahidaPosition.3
else if $swapvar == 4
	vb0 = ResourceNahidaPosition.4
endif

[CommandListNahidaBlend]
if $swapvar == 0
	vb1 = ResourceNahidaBlend.0
	handling = skip
	draw = 123685,0
else if $swapvar == 1
	vb1 = ResourceNahidaBlend.1
	handling = skip
	draw = 54008,0
else if $swapvar == 2
	vb1 = ResourceNahidaBlend.2
	handling = skip
	draw = 58515,0
else if $swapvar == 3
	vb1 = ResourceNahidaBlend.3
	handling = skip
	draw = 116298,0
else if $swapvar == 4
	vb1 = ResourceNahidaBlend.4
	handling = skip
	draw = 74955,0
endif

[CommandListNahidaTexcoord]
if $swapvar == 0
	vb1 = ResourceNahidaTexcoord.0
else if $swapvar == 1
	vb1 = ResourceNahidaTexcoord.1
else if $swapvar == 2
	vb1 = ResourceNahidaTexcoord.2
else if $swapvar == 3
	vb1 = ResourceNahidaTexcoord.3
else if $swapvar == 4
	vb1 = ResourceNahidaTexcoord.4
endif

[CommandListNahidaIB]
if $swapvar == 0
	handling = skip
else if $swapvar == 1
	handling = skip
else if $swapvar == 2
	handling = skip
else if $swapvar == 3
	handling = skip
else if $swapvar == 4
	handling = skip
endif

[CommandListNahidaHead]
if $swapvar == 0
	ib = null
	ps-t0 = ResourceNahidaHeadNormalMap.0
	ps-t1 = ResourceNahidaHeadDiffuse.0
	ps-t2 = ResourceNahidaHeadLightMap.0
	drawindexed = auto
else if $swapvar == 1
	ib = null
	ps-t0 = ResourceNahidaHeadNormalMap.1
	ps-t1 = ResourceNahidaHeadDiffuse.1
	ps-t2 = ResourceNahidaHeadLightMap.1
	drawindexed = auto
else if $swapvar == 2
	ib = null
	ps-t0 = ResourceNahidaHeadNormalMap.2
	ps-t1 = ResourceNahidaHeadDiffuse.2
	ps-t2 = ResourceNahidaHeadLightMap.2
	drawindexed = auto
else if $swapvar == 3
	ib = null
	ps-t0 = ResourceNahidaHeadNormalMap.3
	ps-t1 = ResourceNahidaHeadDiffuse.3
	ps-t2 = ResourceNahidaHeadLightMap.3
	drawindexed = auto
else if $swapvar == 4
	ib = null
	ps-t0 = ResourceNahidaHeadNormalMap.4
	ps-t1 = ResourceNahidaHeadDiffuse.4
	ps-t2 = ResourceNahidaHeadLightMap.4
	drawindexed = auto
endif

[CommandListNahidaBody]
if $swapvar == 0
	ib = ResourceNahidaBodyIB.0
	ps-t0 = ResourceNahidaBodyNormalMap.0
	ps-t1 = ResourceNahidaBodyDiffuse.0
	ps-t2 = ResourceNahidaBodyLightMap.0
	drawindexed = auto
else if $swapvar == 0
	ib = ResourceNahidaExtraIB.0
	ps-t0 = ResourceNahidaExtraNormalMap.0
	ps-t1 = ResourceNahidaExtraDiffuse.0
	ps-t2 = ResourceNahidaExtraLightMap.0
	run = CustomShaderTransparency
else if $swapvar == 1
	ib = ResourceNahidaBodyIB.1
	ps-t0 = ResourceNahidaBodyNormalMap.1
	ps-t1 = ResourceNahidaBodyDiffuse.1
	ps-t2 = ResourceNahidaBodyLightMap.1
	drawindexed = auto
else if $swapvar == 2
	ib = ResourceNahidaBodyIB.2
	ps-t0 = ResourceNahidaBodyNormalMap.2
	ps-t1 = ResourceNahidaBodyDiffuse.2
	ps-t2 = ResourceNahidaBodyLightMap.2
	drawindexed = auto
else if $swapvar == 3
	ib = ResourceNahidaBodyIB.3
	ps-t0 = ResourceNahidaBodyNormalMap.3
	ps-t1 = ResourceNahidaBodyDiffuse.3
	ps-t2 = ResourceNahidaBodyLightMap.3
	drawindexed = auto
else if $swapvar == 4
	ib = ResourceNahidaBodyIB.4
	ps-t0 = ResourceNahidaBodyNormalMap.4
	ps-t1 = ResourceNahidaBodyDiffuse.4
	ps-t2 = ResourceNahidaBodyLightMap.4
	drawindexed = auto
endif

[CommandListNahidaDress]
if $swapvar == 0
	ib = ResourceNahidaDressIB.0
	ps-t0 = ResourceNahidaDressNormalMap.0
	ps-t1 = ResourceNahidaDressDiffuse.0
	ps-t2 = ResourceNahidaDressLightMap.0
	drawindexed = auto
else if $swapvar == 1
	ib = ResourceNahidaDressIB.1
	ps-t0 = ResourceNahidaDressNormalMap.1
	ps-t1 = ResourceNahidaDressDiffuse.1
	ps-t2 = ResourceNahidaDressLightMap.1
	drawindexed = auto
else if $swapvar == 2
	ib = ResourceNahidaDressIB.2
	ps-t0 = ResourceNahidaDressNormalMap.2
	ps-t1 = ResourceNahidaDressDiffuse.2
	ps-t2 = ResourceNahidaDressLightMap.2
	drawindexed = auto
else if $swapvar == 3
	ib = ResourceNahidaDressIB.3
	ps-t0 = ResourceNahidaDressNormalMap.3
	ps-t1 = ResourceNahidaDressDiffuse.3
	ps-t2 = ResourceNahidaDressLightMap.3
	drawindexed = auto
else if $swapvar == 4
	ib = ResourceNahidaDressIB.4
	ps-t0 = ResourceNahidaDressNormalMap.4
	ps-t1 = ResourceNahidaDressDiffuse.4
	ps-t2 = ResourceNahidaDressLightMap.4
	drawindexed = auto
endif

[CommandListNahidaFaceHeadDiffuse]
if $swapvar == 0
	ps-t0 = ResourceNahidaFaceHeadDiffuse.0
else if $swapvar == 1
	ps-t0 = ResourceNahidaFaceHeadDiffuse.1
else if $swapvar == 2
	ps-t0 = ResourceNahidaFaceHeadDiffuse.2
else if $swapvar == 3
	ps-t0 = ResourceNahidaFaceHeadDiffuse.3
else if $swapvar == 4
	ps-t0 = ResourceNahidaFaceHeadDiffuse.4
endif

[CommandListNahidaExtra]
if $swapvar == 0
	ib = ResourceNahidaExtraIB.0
	ps-t0 = ResourceNahidaExtraNormalMap.0
	ps-t1 = ResourceNahidaExtraDiffuse.0
	ps-t2 = ResourceNahidaExtraLightMap.0
	run = CustomShaderTransparency0
else if $swapvar == 1
	ib = null
	ps-t0 = ResourceNahidaExtraNormalMap.1
	ps-t1 = ResourceNahidaExtraDiffuse.1
	ps-t2 = ResourceNahidaExtraLightMap.1
	drawindexed = auto
else if $swapvar == 2
	ib = ResourceNahidaExtraIB.2
	ps-t0 = ResourceNahidaExtraNormalMap.2
	ps-t1 = ResourceNahidaExtraDiffuse.2
	ps-t2 = ResourceNahidaExtraLightMap.2
	run = CustomShaderTransparency2
else if $swapvar == 3
	ib = ResourceNahidaExtraIB.3
	ps-t0 = ResourceNahidaExtraNormalMap.3
	ps-t1 = ResourceNahidaExtraDiffuse.3
	ps-t2 = ResourceNahidaExtraLightMap.3
	run = CustomShaderTransparency3
else if $swapvar == 4
	ib = ResourceNahidaExtraIB.4
	ps-t0 = ResourceNahidaExtraNormalMap.4
	ps-t1 = ResourceNahidaExtraDiffuse.4
	ps-t2 = ResourceNahidaExtraLightMap.4
	run = CustomShaderTransparency4
endif

; Resources ---------------------------

[ResourceNahidaPosition.0]
type = Buffer
stride = 40
filename = .\Nahidabikini\NahidaPosition.buf

[ResourceNahidaBlend.0]
type = Buffer
stride = 32
filename = .\Nahidabikini\NahidaBlend.buf

[ResourceNahidaTexcoord.0]
type = Buffer
stride = 20
filename = .\Nahidabikini\NahidaTexcoord.buf

[ResourceNahidaHeadIB.0]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidabikini\NahidaHead.ib

[ResourceNahidaBodyIB.0]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidabikini\NahidaBody.ib

[ResourceNahidaDressIB.0]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidabikini\NahidaDress.ib

[ResourceNahidaExtraIB.0]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidabikini\NahidaExtra.ib

[ResourceNahidaHeadNormalMap.0]
filename = .\Nahidabikini\NahidaHeadNormalMap.dds

[ResourceNahidaHeadDiffuse.0]
filename = .\Nahidabikini\NahidaHeadDiffuse.dds

[ResourceNahidaHeadLightMap.0]
filename = .\Nahidabikini\NahidaHeadLightMap.dds

[ResourceNahidaBodyNormalMap.0]
filename = .\Nahidabikini\NahidaBodyNormalMap.dds

[ResourceNahidaBodyDiffuse.0]
filename = .\Nahidabikini\NahidaBodyDiffuse.dds

[ResourceNahidaBodyLightMap.0]
filename = .\Nahidabikini\NahidaBodyLightMap.dds

[ResourceNahidaDressNormalMap.0]
filename = .\Nahidabikini\NahidaDressNormalMap.dds

[ResourceNahidaDressDiffuse.0]
filename = .\Nahidabikini\NahidaDressDiffuse.dds

[ResourceNahidaDressLightMap.0]
filename = .\Nahidabikini\NahidaDressLightMap.dds

[ResourceNahidaExtraNormalMap.0]
filename = .\Nahidabikini\NahidaExtraNormalMap.dds

[ResourceNahidaExtraDiffuse.0]
filename = .\Nahidabikini\NahidaExtraDiffuse.dds

[ResourceNahidaExtraLightMap.0]
filename = .\Nahidabikini\NahidaExtraLightMap.dds

[ResourceNahidaFaceHeadDiffuse.0]
filename = .\Nahidabikini\NahidaFaceHeadDiffuse.dds

[ResourceNahidaPosition.1]
type = Buffer
stride = 40
filename = .\Nahidabody\NahidaPosition.buf

[ResourceNahidaBlend.1]
type = Buffer
stride = 32
filename = .\Nahidabody\NahidaBlend.buf

[ResourceNahidaTexcoord.1]
type = Buffer
stride = 20
filename = .\Nahidabody\NahidaTexcoord.buf

[ResourceNahidaHeadIB.1]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidabody\NahidaHead.ib

[ResourceNahidaBodyIB.1]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidabody\NahidaBody.ib

[ResourceNahidaDressIB.1]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidabody\NahidaDress.ib

[ResourceNahidaExtraIB.1]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidabody\NahidaExtra.ib

[ResourceNahidaHeadNormalMap.1]
filename = .\Nahidabody\NahidaHeadNormalMap.dds

[ResourceNahidaHeadDiffuse.1]
filename = .\Nahidabody\NahidaHeadDiffuse.dds

[ResourceNahidaHeadLightMap.1]
filename = .\Nahidabody\NahidaHeadLightMap.dds

[ResourceNahidaBodyNormalMap.1]
filename = .\Nahidabody\NahidaBodyNormalMap.dds

[ResourceNahidaBodyDiffuse.1]
filename = .\Nahidabody\NahidaBodyDiffuse.dds

[ResourceNahidaBodyLightMap.1]
filename = .\Nahidabody\NahidaBodyLightMap.dds

[ResourceNahidaDressNormalMap.1]
filename = .\Nahidabody\NahidaDressNormalMap.dds

[ResourceNahidaDressDiffuse.1]
filename = .\Nahidabody\NahidaDressDiffuse.dds

[ResourceNahidaDressLightMap.1]
filename = .\Nahidabody\NahidaDressLightMap.dds

[ResourceNahidaExtraNormalMap.1]
filename = .\Nahidabody\NahidaExtraNormalMap.dds

[ResourceNahidaExtraDiffuse.1]
filename = .\Nahidabody\NahidaExtraDiffuse.dds

[ResourceNahidaExtraLightMap.1]
filename = .\Nahidabody\NahidaExtraLightMap.dds

[ResourceNahidaFaceHeadDiffuse.1]
filename = .\Nahidabody\NahidaFaceHeadDiffuse.dds

[ResourceNahidaPosition.2]
type = Buffer
stride = 40
filename = .\Nahidacat\NahidaPosition.buf

[ResourceNahidaBlend.2]
type = Buffer
stride = 32
filename = .\Nahidacat\NahidaBlend.buf

[ResourceNahidaTexcoord.2]
type = Buffer
stride = 20
filename = .\Nahidacat\NahidaTexcoord.buf

[ResourceNahidaHeadIB.2]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidacat\NahidaHead.ib

[ResourceNahidaBodyIB.2]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidacat\NahidaBody.ib

[ResourceNahidaDressIB.2]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidacat\NahidaDress.ib

[ResourceNahidaExtraIB.2]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidacat\NahidaExtra.ib

[ResourceNahidaHeadNormalMap.2]
filename = .\Nahidacat\NahidaHeadNormalMap.dds

[ResourceNahidaHeadDiffuse.2]
filename = .\Nahidacat\NahidaHeadDiffuse.dds

[ResourceNahidaHeadLightMap.2]
filename = .\Nahidacat\NahidaHeadLightMap.dds

[ResourceNahidaBodyNormalMap.2]
filename = .\Nahidacat\NahidaBodyNormalMap.dds

[ResourceNahidaBodyDiffuse.2]
filename = .\Nahidacat\NahidaBodyDiffuse.dds

[ResourceNahidaBodyLightMap.2]
filename = .\Nahidacat\NahidaBodyLightMap.dds

[ResourceNahidaDressNormalMap.2]
filename = .\Nahidacat\NahidaDressNormalMap.dds

[ResourceNahidaDressDiffuse.2]
filename = .\Nahidacat\NahidaDressDiffuse.dds

[ResourceNahidaDressLightMap.2]
filename = .\Nahidacat\NahidaDressLightMap.dds

[ResourceNahidaExtraNormalMap.2]
filename = .\Nahidacat\NahidaExtraNormalMap.dds

[ResourceNahidaExtraDiffuse.2]
filename = .\Nahidacat\NahidaExtraDiffuse.dds

[ResourceNahidaExtraLightMap.2]
filename = .\Nahidacat\NahidaExtraLightMap.dds

[ResourceNahidaFaceHeadDiffuse.2]
filename = .\Nahidacat\NahidaFaceHeadDiffuse.dds

[ResourceNahidaPosition.3]
type = Buffer
stride = 40
filename = .\Nahidadress\NahidaPosition.buf

[ResourceNahidaBlend.3]
type = Buffer
stride = 32
filename = .\Nahidadress\NahidaBlend.buf

[ResourceNahidaTexcoord.3]
type = Buffer
stride = 20
filename = .\Nahidadress\NahidaTexcoord.buf

[ResourceNahidaHeadIB.3]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidadress\NahidaHead.ib

[ResourceNahidaBodyIB.3]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidadress\NahidaBody.ib

[ResourceNahidaDressIB.3]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidadress\NahidaDress.ib

[ResourceNahidaExtraIB.3]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidadress\NahidaExtra.ib

[ResourceNahidaHeadNormalMap.3]
filename = .\Nahidadress\NahidaHeadNormalMap.dds

[ResourceNahidaHeadDiffuse.3]
filename = .\Nahidadress\NahidaHeadDiffuse.dds

[ResourceNahidaHeadLightMap.3]
filename = .\Nahidadress\NahidaHeadLightMap.dds

[ResourceNahidaBodyNormalMap.3]
filename = .\Nahidadress\NahidaBodyNormalMap.dds

[ResourceNahidaBodyDiffuse.3]
filename = .\Nahidadress\NahidaBodyDiffuse.dds

[ResourceNahidaBodyLightMap.3]
filename = .\Nahidadress\NahidaBodyLightMap.dds

[ResourceNahidaDressNormalMap.3]
filename = .\Nahidadress\NahidaDressNormalMap.dds

[ResourceNahidaDressDiffuse.3]
filename = .\Nahidadress\NahidaDressDiffuse.dds

[ResourceNahidaDressLightMap.3]
filename = .\Nahidadress\NahidaDressLightMap.dds

[ResourceNahidaExtraNormalMap.3]
filename = .\Nahidadress\NahidaExtraNormalMap.dds

[ResourceNahidaExtraDiffuse.3]
filename = .\Nahidadress\NahidaExtraDiffuse.dds

[ResourceNahidaExtraLightMap.3]
filename = .\Nahidadress\NahidaExtraLightMap.dds

[ResourceNahidaFaceHeadDiffuse.3]
filename = .\Nahidadress\NahidaFaceHeadDiffuse.dds

[ResourceNahidaPosition.4]
type = Buffer
stride = 40
filename = .\Nahidaschoolbikini\NahidaPosition.buf

[ResourceNahidaBlend.4]
type = Buffer
stride = 32
filename = .\Nahidaschoolbikini\NahidaBlend.buf

[ResourceNahidaTexcoord.4]
type = Buffer
stride = 20
filename = .\Nahidaschoolbikini\NahidaTexcoord.buf

[ResourceNahidaHeadIB.4]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidaschoolbikini\NahidaHead.ib

[ResourceNahidaBodyIB.4]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidaschoolbikini\NahidaBody.ib

[ResourceNahidaDressIB.4]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidaschoolbikini\NahidaDress.ib

[ResourceNahidaExtraIB.4]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\Nahidaschoolbikini\NahidaExtra.ib

[ResourceNahidaHeadNormalMap.4]
filename = .\Nahidaschoolbikini\NahidaHeadNormalMap.dds

[ResourceNahidaHeadDiffuse.4]
filename = .\Nahidaschoolbikini\NahidaHeadDiffuse.dds

[ResourceNahidaHeadLightMap.4]
filename = .\Nahidaschoolbikini\NahidaHeadLightMap.dds

[ResourceNahidaBodyNormalMap.4]
filename = .\Nahidaschoolbikini\NahidaBodyNormalMap.dds

[ResourceNahidaBodyDiffuse.4]
filename = .\Nahidaschoolbikini\NahidaBodyDiffuse.dds

[ResourceNahidaBodyLightMap.4]
filename = .\Nahidaschoolbikini\NahidaBodyLightMap.dds

[ResourceNahidaDressNormalMap.4]
filename = .\Nahidaschoolbikini\NahidaDressNormalMap.dds

[ResourceNahidaDressDiffuse.4]
filename = .\Nahidaschoolbikini\NahidaDressDiffuse.dds

[ResourceNahidaDressLightMap.4]
filename = .\Nahidaschoolbikini\NahidaDressLightMap.dds

[ResourceNahidaExtraNormalMap.4]
filename = .\Nahidaschoolbikini\NahidaExtraNormalMap.dds

[ResourceNahidaExtraDiffuse.4]
filename = .\Nahidaschoolbikini\NahidaExtraDiffuse.dds

[ResourceNahidaExtraLightMap.4]
filename = .\Nahidaschoolbikini\NahidaExtraLightMap.dds

[ResourceNahidaFaceHeadDiffuse.4]
filename = .\Nahidaschoolbikini\NahidaFaceHeadDiffuse.dds



; .ini generated by GIMI (Genshin-Impact-Model-Importer) mod merger script
; If you have any issues or find any bugs, please open a ticket at https://github.com/SilentNightSound/GI-Model-Importer/issues or contact SilentNightSound#7430 on discord

; Version 1.0.0 AGMG Tool Developer Version 3 Shader Fixer


; Generated shader fix for 3.0+ GIMI importer characters. Please contact the tool developers at https://discord.gg/agmg if you have any questions.

; Variables -----------------------

[Constants]
global $CharacterIB
;0=none, 1=head, 2=body, 3=dress, 4=extra, etc.

[Present]
post $CharacterIB = 0

[ResourceRefHeadDiffuse]
;[ResourceRefHeadLightMap]
[ResourceRefBodyDiffuse]
;[ResourceRefBodyLightMap]
[ResourceRefDressDiffuse]
;[ResourceRefDressLightMap]
[ResourceRefExtraDiffuse]
;[ResourceRefExtraLightMap]

; ShaderOverride ---------------------------

[ShaderRegexCharReflection]
shader_model = ps_5_0
run = CommandListReflectionTexture
[ShaderRegexCharReflection.pattern]
mul r\d+\.\w+, r\d+\.\w+,[^.]*\.\w+\n
mad o\d+\.\w+, r\d+\.\w+, cb\d+\[\d+\]\.\w+, r\d+\.\w+\n
mov o\d+\.\w+, l\(\d+\.\d+\)\n

;[ShaderRegexCharOutline]
;shader_model = ps_5_0
;run = CommandListOutline
;[ShaderRegexCharOutline.pattern]
;mov o\d+\.\w+, l\(\d+\)\n
;mov o\d+\.\w+, r\d+\.\w+\n
;mov o\d+\.\w+, l\(\d+\.\d+\)
;broken as of version 4.0

; OPTIONAL: If regex match breaks, use a [ShaderOverride] command matching shader hash for reflection then use "run = CommandListOutline" under the command

; CommandList -------------------------

[CommandListReflectionTexture]
if $CharacterIB != 0
    if $CharacterIB == 1
        ps-t0 = copy ResourceRefHeadDiffuse
    else if $CharacterIB == 2
        ps-t0 = copy ResourceRefBodyDiffuse
    else if $CharacterIB == 3
        ps-t0 = copy ResourceRefDressDiffuse
    else if $CharacterIB == 4
        ps-t0 = copy ResourceRefExtraDiffuse    
    endif
drawindexed=auto
$CharacterIB = 0
endif

;[CommandListOutline]
;if $CharacterIB != 0
;    if $CharacterIB == 1
;        ps-t1 = copy ResourceRefHeadLightMap
;    else if $CharacterIB == 2
;        ps-t1 = copy ResourceRefBodyLightMap
;    else if $CharacterIB == 3
;        ps-t1 = copy ResourceRefDressLightMap
;    else if $CharacterIB == 4
;        ps-t1 = copy ResourceRefExtraLightMap
;    endif
;drawindexed=auto
;$CharacterIB = 0
;endif
